package com.efast.cafe.portal.dao.common;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.efast.cafe.portal.entity.common.ModuleInfo;
import com.efast.cafe.portal.entity.common.ModuleMenu;
import com.efast.cafe.portal.entity.common.ModulePurview;
import com.efast.cafe.portal.entity.company.PortalCompanyRolePurview;

public interface PortalResourceDao{

	/**
	 * 查询企业拥有的Module
	 * @param companyCode
	 * @return
	 */
	public List<ModuleInfo> queryModulesByCompanyCode(@Param(value="companyCode") String companyCode);
	
	
	public List<ModuleMenu> queryMenus(@Param(value="moduleInfoId") Long moduleInfoId);
	
	/**
	 * 查询企业用户所拥有的资源
	 * @param username
	 * @param companyCode
	 * @return
	 */
	public List<PortalCompanyRolePurview> queryPurviewByCompanyUserAndRole(@Param(value="username")String username,@Param(value="companyCode")String companyCode);

	/**
	 * 查询某个企业模块下的所拥有的权限
	 * @param companyCode
	 * @param moduleInfoId
	 * @return
	 */
	public List<ModulePurview> queryModulePurviewByCompany(@Param(value="companyCode")String companyCode,@Param(value="moduleInfoId")Long moduleInfoId);
	
	/**
	 * 查询某个企业所有模块下的所拥有的权限
	 * @param companyCode
	 * @param moduleInfoId
	 * @return
	 */
	public List<ModulePurview> queryModulePurviewByCompanyCode(@Param(value="companyCode")String companyCode);
	
	public List<ModulePurview> queryAllModulePurview();
}
